package com.sunmnet.j2ee.service.powerdb.designer;

import com.sunmnet.j2ee.core.pub.QueryFilter;
import com.sunmnet.j2ee.entity.powerdb.designer.AccountManage;
import com.sunmnet.j2ee.entity.security.Account;
import com.sunmnet.j2ee.service.BaseService;
import org.dom4j.Document;

import java.util.List;
import java.util.Map;

public interface AccountManageService {

	/**
	 * 添加账户和项目间的关系；
	 *
	 * @param accountId
	 * @param projectIds
	 * @param right
	 * @return
	 */
	short saveAccountRelProject(Long accountId, String projectIds, short right);

	/**
	 * 删除账户和项目间的关系；
	 *
	 * @param accountId
	 * @param projectIds
	 * @return
	 */
	short deleteAccountRleProject(Long accountId, String projectIds);

	/**
	 * 添加账户和数据库连接信息间的关系；
	 *
	 * @param accountId
	 * @param dbConnInfoIds
	 * @return
	 */
	short saveAccountRelDbConnInfo(Long accountId, String dbConnInfoIds);

	/**
	 * 删除账户和数据库连接信息间的关系；
	 *
	 * @param accountId
	 * @param dbConnInfoIds
	 * @return
	 */
	short deleteAccountRelDbConnInfo(Long accountId, String dbConnInfoIds);

	/**
	 *
	 * @param accountId
	 * @return
	 */
	List getAccountDb(long accountId);

	/**
	 *
	 * @param accountId
	 * @return
	 */
	List getAccountProject(long accountId);

	/**
	 *
	 * @return List<Map<String,Object>>
	 */
	List<Map<String, Object>> findAllAccount();

	/**
	 *
	 * @return List<Map<String,Object>>
	 */
	List<Map<String, Object>> findByAllSearch(QueryFilter filter);

}
